<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>PostScript</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/PostScript"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/ext.pygments.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-PostScript rootpage-PostScript skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">PostScript</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<style data-mw-deduplicate="TemplateStyles:r1236090951">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><div role="note" class="hatnote navigation-not-searchable">For other uses, see <a href="Postscript_(disambiguation)" class="mw-disambig" title="Postscript (disambiguation)">Postscript (disambiguation)</a>.</div>
<style data-mw-deduplicate="TemplateStyles:r1251242444">
/* start https://en.wikipedia.org/ */
.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style>
<style data-mw-deduplicate="TemplateStyles:r1295905060">
/* start https://en.wikipedia.org/ */
.mw-parser-output .infobox-subbox{padding:0;border:none;margin:-3px;width:auto;min-width:100%;font-size:100%;clear:none;float:none;background-color:transparent}.mw-parser-output .infobox-3cols-child{margin:auto}.mw-parser-output .infobox .navbar{font-size:100%}@media screen{html.skin-theme-clientpref-night .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media(min-width:640px){body.skin--responsive .mw-parser-output .infobox-table{display:table!important}body.skin--responsive .mw-parser-output .infobox-table>caption{display:table-caption!important}body.skin--responsive .mw-parser-output .infobox-table>tbody{display:table-row-group}body.skin--responsive .mw-parser-output .infobox-table th,body.skin--responsive .mw-parser-output .infobox-table td{padding-left:inherit;padding-right:inherit}}
/* end https://en.wikipedia.org/ */
</style><table class="infobox vevent"><tbody><tr><th colspan="2" class="infobox-above" style="background-color:#e0e0e0;">PostScript</th></tr><tr><td colspan="2" class="infobox-image"><span typeof="mw:File"></span><div class="infobox-caption">PostScript 3 logo</div></td></tr><tr><th scope="row" class="infobox-label"><a href="Programming_paradigm" title="Programming paradigm">Paradigm</a></th><td class="infobox-data"><a href="Multi-paradigm_programming_language" class="mw-redirect" title="Multi-paradigm programming language">Multi-paradigm</a>: <a href="Concatenative_programming_language" title="Concatenative programming language">concatenative</a> (<a href="Stack-oriented_programming" title="Stack-oriented programming">stack-based</a>), <a href="Procedural_programming" title="Procedural programming">procedural</a></td></tr><tr><th scope="row" class="infobox-label"><a href="Software_design" title="Software design">Designed by</a></th><td class="infobox-data"><a href="John_Warnock" title="John Warnock">John Warnock</a>, <a href="Chuck_Geschke" class="mw-redirect" title="Chuck Geschke">Chuck Geschke</a>, Doug Brotz, Ed Taft, <a href="Bill_Paxton_(computer_scientist)" title="Bill Paxton (computer scientist)">Bill Paxton</a></td></tr><tr><th scope="row" class="infobox-label"><a href="Software_developer" class="mw-redirect" title="Software developer">Developer</a></th><td class="infobox-data organiser"><a href="Adobe_Systems" class="mw-redirect" title="Adobe Systems">Adobe Systems</a></td></tr><tr><th scope="row" class="infobox-label">First appeared</th><td class="infobox-data">1982<span style="display:none"> (<span class="bday dtstart published updated">1982</span>)</span></td></tr><tr><td colspan="2" class="infobox-full-data"></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="Software_release_life_cycle" title="Software release life cycle">Stable release</a></th><td class="infobox-data"><div style="margin:0px;">PostScript 3
/ 1997<span style="display:none"> (<span class="bday dtstart published updated">1997</span>)</span></div></td></tr><tr style="display:none"><td colspan="2">
</td></tr><tr><th scope="row" class="infobox-label"><a href="Type_system" title="Type system">Typing discipline</a></th><td class="infobox-data">Dynamic, weak</td></tr><tr><th colspan="2" class="infobox-header" style="background-color: #EEEEEE;">Major <a href="Programming_language_implementation" title="Programming language implementation">implementations</a></th></tr><tr><td colspan="2" class="infobox-full-data">Adobe PostScript, <a href="TrueImage" title="TrueImage">TrueImage</a>, <a href="Ghostscript" title="Ghostscript">Ghostscript</a></td></tr><tr><th colspan="2" class="infobox-header" style="background-color: #EEEEEE;">Influenced by</th></tr><tr><td colspan="2" class="infobox-full-data"><a href="Mesa_(programming_language)" title="Mesa (programming language)">Mesa</a>,<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> <a href="Interpress" title="Interpress">Interpress</a>, <a href="Lisp_(programming_language)" title="Lisp (programming language)">Lisp</a></td></tr><tr><th colspan="2" class="infobox-header" style="background-color: #EEEEEE;">Influenced</th></tr><tr><td colspan="2" class="infobox-full-data"><a href="Portable_Document_Format" class="mw-redirect" title="Portable Document Format">PDF</a></td></tr></tbody></table>
<table class="infobox"><tbody><tr><th colspan="2" class="infobox-above" style="padding-bottom: 0.15em;">PostScript (file format)</th></tr><tr><th scope="row" class="infobox-label" style="line-height: 1.2; padding-right: 0.65em;"><a href="Filename_extension" title="Filename extension">Filename extension</a></th><td class="infobox-data" style="line-height: 1.35;"><style data-mw-deduplicate="TemplateStyles:r886049734">
/* start https://en.wikipedia.org/ */
.mw-parser-output .monospaced{font-family:monospace,monospace}
/* end https://en.wikipedia.org/ */
</style><div class="monospaced">
.ps</div></td></tr><tr><th scope="row" class="infobox-label" style="line-height: 1.2; padding-right: 0.65em;"><a href="Media_type" title="Media type">Internet media type</a></th><td class="infobox-data" style="line-height: 1.35;"><div class="monospaced">
application/postscript</div></td></tr><tr><th scope="row" class="infobox-label" style="line-height: 1.2; padding-right: 0.65em;"><a href="Uniform_Type_Identifier" title="Uniform Type Identifier">Uniform Type Identifier (UTI)</a></th><td class="infobox-data" style="line-height: 1.35;">com.adobe.postscript</td></tr><tr><th scope="row" class="infobox-label" style="line-height: 1.2; padding-right: 0.65em;"><a href="File_format#Magic_number" title="File format">Magic number</a></th><td class="infobox-data" style="line-height: 1.35;"><code>%!</code></td></tr><tr><th scope="row" class="infobox-label" style="line-height: 1.2; padding-right: 0.65em;">Developed by</th><td class="infobox-data" style="line-height: 1.35;"><a href="Adobe_Systems" class="mw-redirect" title="Adobe Systems">Adobe Systems</a></td></tr><tr><th scope="row" class="infobox-label" style="line-height: 1.2; padding-right: 0.65em;">Type of format</th><td class="infobox-data" style="line-height: 1.35;">printing file format</td></tr><tr><th scope="row" class="infobox-label" style="line-height: 1.2; padding-right: 0.65em;">Extended to</th><td class="infobox-data" style="line-height: 1.35;"><a href="Encapsulated_PostScript" title="Encapsulated PostScript">Encapsulated PostScript</a></td></tr></tbody></table>
<p><b>PostScript</b> (<b>PS</b>) is a <a href="Page_description_language" title="Page description language">page description language</a> and <a href="Type_system" title="Type system">dynamically typed</a>, <a href="Stack-oriented_programming" title="Stack-oriented programming">stack-based programming language</a>. It is most commonly used in the <a href="Electronic_publishing" title="Electronic publishing">electronic publishing</a> and <a href="Desktop_publishing" title="Desktop publishing">desktop publishing</a> realm, but as a <a href="Turing_completeness" title="Turing completeness">Turing complete</a> programming language, it can be used for many other purposes as well. PostScript was created at <a href="Adobe_Systems" class="mw-redirect" title="Adobe Systems">Adobe Systems</a> by <a href="John_Warnock" title="John Warnock">John Warnock</a>, <a href="Charles_Geschke" title="Charles Geschke">Charles Geschke</a>, Doug Brotz, Ed Taft and <a href="Bill_Paxton_(computer_scientist)" title="Bill Paxton (computer scientist)">Bill Paxton</a> from 1982 to 1984. The most recent version, PostScript 3, was released in 1997.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="History">History</h2></div>
<p>The concepts of the PostScript language were seeded in 1976 by John Gaffney at <a href="Evans_%26_Sutherland" title="Evans & Sutherland">Evans & Sutherland</a>,<sup id="cite_ref-reilly2003p206_2-0" class="reference"><a href="#cite_note-reilly2003p206-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> a <a href="Computer_graphics" title="Computer graphics">computer graphics</a> company. At that time, Gaffney and <a href="John_Warnock" title="John Warnock">John Warnock</a> were developing an interpreter for a large three-dimensional graphics database of <a href="New_York_Harbor" title="New York Harbor">New York Harbor</a>.
</p><p>Concurrently, researchers at <a href="Xerox_PARC" class="mw-redirect" title="Xerox PARC">Xerox PARC</a> had developed the first <a href="Laser_printer" class="mw-redirect" title="Laser printer">laser printer</a> and had recognized the need for a standard means of defining page images. In 1975–76 <a href="Bob_Sproull" title="Bob Sproull">Bob Sproull</a> and <a href="William_Newman_(computer_scientist)" title="William Newman (computer scientist)">William Newman</a> developed the Press format, which was eventually used in the <a href="Xerox_Star" title="Xerox Star">Xerox Star</a> system to drive laser printers. But Press, a data format rather than a language, lacked flexibility, and PARC mounted the <a href="Interpress" title="Interpress">Interpress</a> effort to create a successor.
</p><p>In 1978, John Gaffney and <a href="Martin_Newell_(computer_graphics)" class="mw-redirect" title="Martin Newell (computer graphics)">Martin Newell</a> then at Xerox PARC wrote J & M or JaM<sup id="cite_ref-reilly2003p206_2-1" class="reference"><a href="#cite_note-reilly2003p206-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> (for "John and Martin") which was used for <a href="Very-large-scale_integration" title="Very-large-scale integration">VLSI</a> design and the investigation of type and graphics printing. This work later evolved and expanded into the Interpress language.
</p><p>Warnock left with <a href="Chuck_Geschke" class="mw-redirect" title="Chuck Geschke">Chuck Geschke</a> and founded <a href="Adobe_Systems" class="mw-redirect" title="Adobe Systems">Adobe Systems</a> in December 1982. They, together with Doug Brotz, Ed Taft and <a href="Bill_Paxton_(computer_scientist)" title="Bill Paxton (computer scientist)">Bill Paxton</a> created a simpler language, similar to Interpress, called PostScript, which went on the market in 1984.
</p><p>Meanwhile, in the spring of 1983, <a href="Steve_Jobs" title="Steve Jobs">Steve Jobs</a> came to visit Adobe and was dazzled by PostScript's potential, especially for the new <a href="Macintosh_128K" title="Macintosh 128K">Macintosh</a> computer he was developing at <a href="Apple_Inc." title="Apple Inc.">Apple</a>.<sup id="cite_ref-Pfiffner_Page_33_6-0" class="reference"><a href="#cite_note-Pfiffner_Page_33-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> To <a href="John_Sculley" title="John Sculley">John Sculley</a>'s frustration, Jobs licensed the PostScript technology from Adobe by offering a $1.5 million advance against PostScript royalties, plus $2.5 million in exchange for 20 percent of Adobe shares.<sup id="cite_ref-Pfiffner_Page_34_7-0" class="reference"><a href="#cite_note-Pfiffner_Page_34-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> During a series of meetings in 1983, Jobs also repeatedly offered for Apple to buy Adobe outright, but the founders kept turning him down.<sup id="cite_ref-Pfiffner_Page_34_7-1" class="reference"><a href="#cite_note-Pfiffner_Page_34-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> In December 1983, the two companies finally signed off on the PostScript licensing deal, and Adobe had to shift focus immediately from high-end, high-resolution printing devices to the consumer-oriented Apple <a href="LaserWriter" title="LaserWriter">LaserWriter</a> laser printer.<sup id="cite_ref-Pfiffner_Page_35_8-0" class="reference"><a href="#cite_note-Pfiffner_Page_35-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup>
</p><p>At that time, the 300-dpi <a href="Canon_Inc." title="Canon Inc.">Canon</a> laser printing engine to be used in LaserWriters was seen as good enough only for <a href="Prepress_proofing" title="Prepress proofing">proof printing</a> (i.e., for crude rough drafts of material whose final drafts would be sent to professional high-resolution devices), but Jobs presented Adobe with the challenge of making PostScript render high-quality output to such a low-resolution device (which for most consumers would be their only printing device).<sup id="cite_ref-Pfiffner_Page_36_9-0" class="reference"><a href="#cite_note-Pfiffner_Page_36-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> In response, Warnock and Brotz solved the so-called "appearance problem" of making the stem width of letters scale properly so that they look good at all resolutions.<sup id="cite_ref-Pfiffner_Page_37_10-0" class="reference"><a href="#cite_note-Pfiffner_Page_37-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> Their breakthrough was so important that Adobe never patented the technology, in order to keep its details concealed as a <a href="Trade_secret" title="Trade secret">trade secret</a>.<sup id="cite_ref-Pfiffner_Page_37_10-1" class="reference"><a href="#cite_note-Pfiffner_Page_37-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> Many years later, Warnock revealed the trade secret in a 2010 lecture, and in 2022, Adobe publicly released an early version of PostScript's original source code from February 1984.<sup id="cite_ref-Brock_11-0" class="reference"><a href="#cite_note-Brock-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup> Paxton worked on several other related improvements, such as <a href="Font_hinting" title="Font hinting">font hinting</a>.<sup id="cite_ref-Pfiffner_Page_37_10-2" class="reference"><a href="#cite_note-Pfiffner_Page_37-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> This work occurred after February 1984, meaning that Paxton's improvements were not included in the source code release and are still protected as trade secrets.<sup id="cite_ref-Brock_11-1" class="reference"><a href="#cite_note-Brock-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup> Adobe was also responsible for porting PostScript to the Canon's <a href="Motorola_68000" title="Motorola 68000">Motorola 68000</a> chip.<sup id="cite_ref-Pfiffner_Page_37_10-3" class="reference"><a href="#cite_note-Pfiffner_Page_37-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup>
</p><p>Apple and Adobe announced the LaserWriter at Apple's annual stockholder meeting on January 23, 1985.<sup id="cite_ref-Pfiffner_Page_47_12-0" class="reference"><a href="#cite_note-Pfiffner_Page_47-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup> It was the first printer to ship with PostScript, sparking the <a href="Desktop_publishing" title="Desktop publishing">desktop publishing</a> (DTP) revolution in the mid-1980s.<sup id="cite_ref-Pfiffner_Page_48_13-0" class="reference"><a href="#cite_note-Pfiffner_Page_48-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup> The original PostScript royalty was five percent of the list price for each laser printer sold, which was $350 of the original LaserWriter list price of $6,995, and such royalties provided nearly all of Adobe's income during its early years.<sup id="cite_ref-Pfiffner_Page_69_14-0" class="reference"><a href="#cite_note-Pfiffner_Page_69-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup> (Apple later renegotiated the contract to pay a licensing fee based on volume of printers shipped.)<sup id="cite_ref-Pfiffner_Page_69_14-1" class="reference"><a href="#cite_note-Pfiffner_Page_69-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup> The combination of technical merits and widespread availability made PostScript the language of choice for graphical output for printing applications. An <a href="Interpreter_(computer_software)" class="mw-redirect" title="Interpreter (computer software)">interpreter</a> (sometimes referred to as a <a href="Raster_Image_Processor" class="mw-redirect" title="Raster Image Processor">RIP</a> for Raster Image Processor) for the PostScript language was a common component of laser printers during the 1980s and 1990s.
</p><p>However, the cost of implementation was high; computers output raw PS code that would be interpreted by the printer into a raster image at the printer's natural resolution. This required high-performance <a href="Microprocessor" title="Microprocessor">microprocessors</a> and ample <a href="Computer_memory" title="Computer memory">memory</a>. The LaserWriter used a 12 MHz <a href="Motorola_68000" title="Motorola 68000">Motorola 68000</a>, making it faster than any of the Macintosh computers to which it was attached.<sup id="cite_ref-Pfiffner_Page_53_15-0" class="reference"><a href="#cite_note-Pfiffner_Page_53-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup> When the laser printer engines themselves cost over a thousand dollars, the added cost of PS was marginal. But, as printer mechanisms fell in price, the cost of implementing PS became too great a fraction of overall printer cost. In addition, with desktop computers becoming more powerful during the 1990s than their attached printers, it no longer made sense to offload the rasterization work onto the resource-constrained printer. By 2001, few low-end printer models came with onboard support for PostScript, largely due to growing competition from much cheaper non-PostScript inkjet printers, and new software-based methods to render PostScript images on computers, making them suitable for any printer. <a href="Portable_Document_Format" class="mw-redirect" title="Portable Document Format">PDF</a>, a descendant of PostScript, provides one such method, and has largely replaced PostScript as the <i><a href="De_facto" title="De facto">de facto</a></i> standard for electronic document distribution.
</p><p>On high-end printers, PostScript processors remain common, and their use can dramatically reduce the CPU work involved in printing documents, transferring the work of rendering PostScript images from the computer to the printer.
</p>
<div class="mw-heading mw-heading3"><h3 id="PostScript_Level_1">PostScript Level 1</h3></div>
<p>The first version of the PostScript language was released to the market in 1984. The qualifier <i>Level 1</i> was added when <i>Level 2</i> was introduced.<sup id="cite_ref-:0_16-0" class="reference"><a href="#cite_note-:0-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="PostScript_Level_2">PostScript Level 2</h3></div>
<p>PostScript Level 2 was introduced in 1991, and included several improvements: improved speed and reliability, support for in-Raster Image Processing (RIP) separations, <a href="Image_compression" title="Image compression">image decompression</a> (for example, <a href="JPEG" title="JPEG">JPEG</a> images could be rendered by a PostScript program), support for composite <a href="Computer_font" title="Computer font">fonts</a>, and the form mechanism for caching reusable content.<sup id="cite_ref-:0_16-1" class="reference"><a href="#cite_note-:0-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="PostScript_3">PostScript 3</h3></div>
<p>PostScript 3 (Adobe dropped the "level" terminology in favor of simple versioning) came at the end of 1997, and along with many new dictionary-based versions of older operators, introduced better color handling and new filters (which allow in-program compression/decompression, program chunking, and advanced error handling).
</p><p>PostScript 3 was significant in terms of replacing the existing proprietary color electronic prepress systems, then widely used for magazine production, through the introduction of smooth shading operations with up to 4096 shades of grey (rather than the 256 available in PostScript Level 2), as well as DeviceN, a <a href="Color_space" title="Color space">color space</a> that allowed the addition of additional ink colors (called <a href="Spot_color" title="Spot color">spot colors</a>) into composite color pages.<sup id="cite_ref-:0_16-2" class="reference"><a href="#cite_note-:0-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Use_in_printing">Use in printing</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Before_PostScript">Before PostScript</h3></div>
<p>Prior to the introduction of <a href="Interpress" title="Interpress">Interpress</a> and PostScript, printers were designed to print character output given the text—typically in <a href="ASCII" title="ASCII">ASCII</a>—as input. There were a number of technologies for this task, but most shared the property that the <a href="Glyph" title="Glyph">glyphs</a> were physically difficult to change, as they were stamped onto <a href="Typewriter" title="Typewriter">typewriter</a> keys, bands of metal, or optical plates.
</p><p>This changed to some degree with the increasing popularity of <a href="Dot_matrix_printer" class="mw-redirect" title="Dot matrix printer">dot matrix printers</a>. The characters on these systems were drawn as a series of dots, as defined by a <a href="Typeface" title="Typeface">font</a> table inside the printer. As they grew in sophistication, dot matrix printers started including several built-in fonts from which the user could select, and some models allowed users to upload their own custom glyphs into the printer.
</p><p>Dot matrix printers also introduced the ability to print <a href="Raster_graphics" title="Raster graphics">raster graphics</a>.<sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup> The graphics were interpreted by the computer and sent as a series of dots to the printer using a series of <a href="Escape_sequence" title="Escape sequence">escape sequences</a>. These <a href="Printer_control_language" class="mw-redirect" title="Printer control language">printer control languages</a> varied from printer to printer, requiring program authors to create numerous <a href="Device_driver" title="Device driver">drivers</a>.
</p><p><a href="Vector_graphics" title="Vector graphics">Vector graphics</a> printing was left to special-purpose devices, called <a href="Plotter" title="Plotter">plotters</a>. Almost all plotters shared a common command language, <a href="HPGL" class="mw-redirect" title="HPGL">HPGL</a>, but were of limited use for anything other than printing graphics. In addition, they tended to be expensive and slow, and thus rare.
</p>
<div class="mw-heading mw-heading3"><h3 id="PostScript_printing">PostScript printing</h3></div>
<p>Laser printers combine the best features of both printers and plotters. Like plotters, laser printers offer high-quality line art, and like dot-matrix printers, they are able to generate pages of text and raster graphics. Unlike either printers or plotters, a laser printer makes it possible to position high-quality graphics and text on the same page. PostScript made it possible to fully exploit these characteristics by offering a single control language that could be used on any brand of printer.
</p><p>PostScript went beyond the typical printer control language and was a complete programming language of its own. Many applications can transform a document into a PostScript program, the execution of which results in the original document. This program can be sent to an <a href="Interpreter_(computing)" title="Interpreter (computing)">interpreter</a> in a printer, which results in a printed document, or to one inside another application, which will display the document on-screen. Since the document-program is the same regardless of its destination, it is called <i>device-independent</i>.
</p><p>PostScript is noteworthy for implementing on-the-fly <a href="Rasterization" class="mw-redirect" title="Rasterization">rasterization</a> in which everything, even text, is specified in terms of straight lines and cubic <a href="B%C3%A9zier_curve" title="Bézier curve">Bézier curves</a> (previously found only in <a href="Computer-aided_design" title="Computer-aided design">CAD</a> applications), which allows arbitrary scaling, rotating and other transformations. When the PostScript program is interpreted, the interpreter converts these instructions into the dots needed to form the output. For this reason, PostScript interpreters are occasionally called PostScript <a href="Raster_Image_Processor" class="mw-redirect" title="Raster Image Processor">raster image processors</a>, or RIPs.
</p>
<div class="mw-heading mw-heading3"><h3 id="Font_handling">Font handling</h3></div>
<div role="note" class="hatnote navigation-not-searchable">Main article: <a href="PostScript_fonts" title="PostScript fonts">PostScript fonts</a></div>
<p>Almost as complex as PostScript itself is its handling of <a href="Typeface" title="Typeface">fonts</a>. The font system uses the PS graphics primitives to draw glyphs as curves, which can then be rendered at any <a href="Image_resolution" title="Image resolution">resolution</a>. A number of <a href="Typographic" class="mw-redirect" title="Typographic">typographic</a> issues had to be considered with this approach.
</p><p>One issue is that fonts do not scale linearly at small sizes and features of the glyphs will become proportionally too large or small and start to look displeasing. PostScript avoided this problem with the inclusion of <a href="Font_hinting" title="Font hinting">font hinting</a>, in which additional information is provided in horizontal or vertical bands to help identify the features in each letter that are important for the rasterizer to maintain. The result was significantly better-looking fonts even at low resolution. It had formerly been believed that hand-tuned bitmap fonts were required for this task.
</p><p>At the time, the technology for including these hints in fonts was carefully guarded, and the hinted fonts were compressed and encrypted into what Adobe called a <i><a href="Type_1_Font" class="mw-redirect" title="Type 1 Font">Type 1 Font</a></i> (also known as <i>PostScript Type 1 Font</i>, <i>PS1</i>, <i>T1</i> or <i>Adobe Type 1</i>). Type 1 was effectively a simplification of the PS system to store outline information only, as opposed to being a complete language (PDF is similar in this regard). Adobe would then sell licenses to the Type 1 technology to those wanting to add hints to their own fonts. Those who did not license the technology were left with the <i><a href="Type_3_Font" class="mw-redirect" title="Type 3 Font">Type 3 Font</a></i> (also known as <i>PostScript Type 3 Font</i>, <i>PS3</i> or <i>T3</i>). Type 3 fonts allowed for all the sophistication of the PostScript language, but without the standardized approach to hinting.
</p><p>The <a href="Type_2_font" class="mw-redirect" title="Type 2 font">Type 2 font</a> format was designed to be used with <a href="Compact_Font_Format" class="mw-redirect" title="Compact Font Format">Compact Font Format</a> (CFF) charstrings, and was implemented to reduce the overall font file size. The <a href="CFF/Type_2_font" class="mw-redirect" title="CFF/Type 2 font">CFF/Type2</a> format later became the basis for handling PostScript outlines in <a href="OpenType" title="OpenType">OpenType</a> fonts.
</p><p>The <a href="CID-keyed_font" class="mw-redirect" title="CID-keyed font">CID-keyed font</a> format was also designed, to solve the problems in the OCF/Type 0 fonts, for addressing the complex Asian-language (<a href="CJK" class="mw-redirect" title="CJK">CJK</a>) encoding and very large character set issues. The CID-keyed font format can be used with the Type 1 font format for standard CID-keyed fonts, or Type 2 for CID-keyed OpenType fonts.
</p><p>To compete with Adobe's system, Apple designed their own system, <a href="TrueType" title="TrueType">TrueType</a>, around 1991. Immediately following the announcement of TrueType, Adobe published the specification for the Type 1 font format. Retail tools such as Altsys <a href="Fontographer" title="Fontographer">Fontographer</a> (acquired by <a href="Macromedia" title="Macromedia">Macromedia</a> in January 1995, owned by <a href="FontLab" title="FontLab">FontLab</a> since May 2005) added the ability to create Type 1 fonts. Since then, many free Type 1 fonts have been released; for instance, the fonts used with the <a href="TeX" title="TeX">TeX</a> typesetting system are available in this format.
</p><p>In the early 1990s, there were several other systems for storing outline-based fonts, developed by <a href="Bitstream_Inc." title="Bitstream Inc.">Bitstream</a> and <a href="Metafont" title="Metafont">Metafont</a> for instance, but none included a general-purpose printing solution and they were therefore not widely used.
</p><p>In the late 1990s, Adobe joined Microsoft in developing <a href="OpenType" title="OpenType">OpenType</a>, essentially a functional superset of the Type 1 and TrueType formats. When printed to a PostScript output device, the unneeded parts of the OpenType font are omitted, and what is sent to the device by the driver is the same as it would be for a TrueType or Type 1 font, depending on which kind of outlines were present in the OpenType font.
</p><p>Adobe supported Type 1 fonts in its products until January 2023, when it fully removed support in favor of OpenType fonts.<sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Other_implementations">Other implementations</h3></div>
<p>In the 1980s, Adobe drew most of its revenue from the licensing fees for their implementation of PostScript for printers, known as a <a href="Raster_image_processor" title="Raster image processor">raster image processor</a> or <i>RIP</i>. As a number of new <a href="RISC" class="mw-redirect" title="RISC">RISC</a>-based platforms became available in the mid-1980s, some found Adobe's support of the new machines to be lacking.
</p><p>This and issues of cost led to third-party implementations of PostScript becoming common, particularly in low-cost printers (where the licensing fee was the sticking point) or in high-end typesetting equipment (where the quest for speed demanded support for new platforms faster than Adobe could provide). At one point, Microsoft licensed to Apple a PostScript-compatible interpreter it had bought called <a href="TrueImage" title="TrueImage">TrueImage</a>, and Apple licensed to Microsoft its new font format, <a href="TrueType" title="TrueType">TrueType</a>. Apple ended up reaching an accord with Adobe and licensed genuine PostScript for its printers, but TrueType became the standard <a href="Outline_font" class="mw-redirect" title="Outline font">outline font</a> technology for both Windows and the Macintosh.
</p><p>Today, third-party PostScript-compatible interpreters are widely used in printers and multifunction peripherals (MFPs). For example, <a href="CSR_plc" title="CSR plc">CSR plc</a>'s IPS PS3<sup id="cite_ref-20" class="reference"><a href="#cite_note-20"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup> interpreter, formerly known as PhoenixPage, is standard in many printers and MFPs, including those developed by <a href="Hewlett-Packard" title="Hewlett-Packard">Hewlett-Packard</a> and sold under the <a href="LaserJet" class="mw-redirect" title="LaserJet">LaserJet</a> and Color LaserJet lines. Other third-party PostScript solutions used by print and MFP manufacturers include Jaws<sup id="cite_ref-21" class="reference"><a href="#cite_note-21"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup> and the Harlequin RIP, both by <a href="Global_Graphics" title="Global Graphics">Global Graphics</a>. A <a href="Free_software" title="Free software">free software</a> version, with several other applications, is <a href="Ghostscript" title="Ghostscript">Ghostscript</a>. Several compatible interpreters are listed on the Undocumented Printing Wiki.<sup id="cite_ref-22" class="reference"><a href="#cite_note-22"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup>
</p><p>Some basic, inexpensive laser printers do not support PostScript, instead coming with drivers that simply rasterize the platform's native graphics formats rather than converting them to PostScript first. When PostScript support is needed for such a printer, Ghostscript can be used. There are also a number of commercial PostScript interpreters, such as <a href="TeleType_Co." title="TeleType Co.">TeleType Co.</a>'s <i>T-Script</i> or <a href="Brother_Industries" title="Brother Industries">Brother</a>'s <i>BR-Script3</i>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Use_as_a_display_system">Use as a display system</h2></div>
<div role="note" class="hatnote navigation-not-searchable">Main articles: <a href="Display_PostScript" title="Display PostScript">Display PostScript</a> and <a href="NeWS" title="NeWS">NeWS</a></div>
<p>PostScript became commercially successful due to the introduction of the <a href="Graphical_user_interface" title="Graphical user interface">graphical user interface</a> (GUI), allowing designers to directly lay out pages for eventual output on laser printers. However, the GUIs' own graphics systems were generally much less sophisticated than PostScript; Apple's <a href="QuickDraw" title="QuickDraw">QuickDraw</a>, for instance, supported only basic lines and arcs, not the complex <a href="B-spline" title="B-spline">B-splines</a> and advanced region filling options of PostScript. In order to take full advantage of PostScript printing, applications on the computers had to re-implement those features using the host platform's own graphics system. This led to numerous issues where the on-screen layout would not exactly match the printed output, due to differences in the implementation of these features.
</p><p>As computer power grew, it became possible to host the PS system in the computer rather than the printer. This led to the natural evolution of PS from a printing system to one that could also be used as the host's own graphics language. There were numerous advantages to this approach; not only did it help eliminate the possibility of different output on screen and printer, but it also provided a powerful graphics system for the computer, and allowed the printers to be "dumb" at a time when the cost of the laser engines was falling. In a production setting, using PostScript as a display system meant that the host computer could render low-resolution to the screen, higher resolution to the printer, or simply send the PS code to a smart printer for offboard printing.
</p><p>However, PostScript was written with printing in mind, and had numerous features that made it unsuitable for direct use in an interactive display system. In particular, PS was based on the idea of collecting up PS commands until the <code>showpage</code> command was seen, at which point all of the commands read up to that point were interpreted and output. In an interactive system, this was clearly not appropriate, nor did PS have any sort of interactivity built in; for example, supporting hit detection for mouse interactivity obviously did not apply when PS was being used on a printer.
</p><p>When <a href="Steve_Jobs" title="Steve Jobs">Steve Jobs</a> left Apple and started <a href="NeXT" title="NeXT">NeXT</a>, he pitched Adobe on the idea of using PS as the display system for his new workstation computers. The result was <a href="Display_PostScript" title="Display PostScript">Display PostScript</a>, or DPS. DPS added basic functionality to improve performance by changing many string lookups into 32 bit integers, adding support for direct output with every command, and adding functions to allow the GUI to inspect the diagram. Additionally, a set of "bindings" was provided to allow PS code to be called directly from the <a href="C_(programming_language)" title="C (programming language)">C programming language</a>. NeXT used these bindings in their <a href="NeXTStep" class="mw-redirect" title="NeXTStep">NeXTStep</a> system to provide an <a href="Object-oriented_programming" title="Object-oriented programming">object oriented</a> graphics system. Although DPS was written in conjunction with NeXT, Adobe sold it commercially and it was a common feature of most <a href="Unix_workstation" class="mw-redirect" title="Unix workstation">Unix workstations</a> in the 1990s.
</p><p><a href="Sun_Microsystems" title="Sun Microsystems">Sun Microsystems</a> took another approach, creating <a href="NeWS" title="NeWS">NeWS</a>. Instead of DPS's concept of allowing PS to interact with C programs, NeWS instead extended PS into a language suitable for running the entire GUI of a computer. Sun added a number of new commands for timers, mouse control, interrupts and other systems needed for interactivity, and added <a href="Data_structure" title="Data structure">data structures</a> and language elements to allow it to be completely object oriented internally. A complete GUI, three in fact, were written in NeWS and provided for a time on their workstations. However, the ongoing efforts to standardize the <a href="X11" class="mw-redirect" title="X11">X11</a> system led to its introduction and widespread use on Sun systems, and NeWS never became widely used.
</p>
<div class="mw-heading mw-heading2"><h2 id="Portable_Document_Format">Portable Document Format</h2></div>
<p>PDF and PostScript share the same imaging model, and both documents are mutually convertible to each other. Both documents produce the same result when printed. The difference between PDF and PostScript is that PDF lacks the general-purpose programming language framework of the PostScript language. A PDF document is a static data structure made for efficient access and embeds navigational information suitable for interactive viewing.<sup id="cite_ref-PLR_23-0" class="reference"><a href="#cite_note-PLR-23"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Page: 9">: 9 </span></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="The_language">The language</h2></div>
<p>PostScript is a <a href="Turing-complete" class="mw-redirect" title="Turing-complete">Turing-complete</a> programming language, belonging to the <a href="Concatenative_programming_language" title="Concatenative programming language">concatenative</a> group of programming languages. It is an <a href="Interpreted_language" class="mw-redirect" title="Interpreted language">interpreted</a>, <a href="Stack-oriented_programming_language" class="mw-redirect" title="Stack-oriented programming language">stack-based</a> language similar to <a href="Forth_(programming_language)" title="Forth (programming language)">Forth</a> but with strong dynamic <a href="Type_system" title="Type system">typing</a>, data structures inspired by those found in <a href="Lisp_(programming_language)" title="Lisp (programming language)">Lisp</a>, <a href="Scope_(computer_science)" title="Scope (computer science)">scoped memory</a> and, since language level 2, <a href="Garbage_collection_(computer_science)" title="Garbage collection (computer science)">garbage collection</a>. The language syntax uses <a href="Reverse_Polish_notation" title="Reverse Polish notation">reverse Polish notation</a>, which makes the order of operations unambiguous, but reading a program requires some practice, because one has to keep the layout of the <a href="Stack_(data_structure)" class="mw-redirect" title="Stack (data structure)">stack</a> in mind. Most <i>operators</i> (what other languages term <i>functions</i>) take their arguments from the stack, and place their results onto the stack. <i><a href="Literal_(computer_science)" class="mw-redirect" title="Literal (computer science)">Literals</a></i> (for example, numbers) have the effect of placing a copy of themselves on the stack. Sophisticated data structures can be built on the <i>array</i> and <i>dictionary</i> types, but cannot be declared to the type system, which sees them all only as arrays and dictionaries, so any further typing discipline to be applied to such user-defined "types" is left to the code that implements them.
</p><p>The character "%" is used to introduce comments in PostScript programs. As a convention, every PostScript program should start with the characters "%!PS" as an <a href="Interpreter_directive" class="mw-redirect" title="Interpreter directive">interpreter directive</a> so that all devices will properly interpret it as PostScript.
</p><p>PostScript programs are typically divided into two parts, conventionally called the <i>prolog</i> and the <i>script</i>. The prolog contains procedures and is written by a programmer. The script passes data to those procedures. The script is often generated automatically, using a programming language other than PostScript.<sup id="cite_ref-24" class="reference"><a href="#cite_note-24"><span class="cite-bracket">[</span>24<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id=""Hello_world"">"Hello world"</h3></div>
<p>A <a href="Hello_World_program" class="mw-redirect" title="Hello World program">Hello World program</a>, the customary way to show a small example of a complete program in a given language, might look like this in PostScript (level 2):
</p>
<div class="mw-highlight mw-highlight-lang-postscript mw-content-ltr" dir="ltr"><pre><span class="w"> </span><span class="c1">%!PS</span>
<span class="w"> </span><span class="nv">/Courier</span><span class="w"> </span><span class="c1">% name the desired font</span>
<span class="w"> </span><span class="mf">20</span><span class="w"> </span><span class="nf">selectfont</span><span class="w"> </span><span class="c1">% choose the size in points and establish </span>
<span class="w"> </span><span class="c1">% the font as the current one</span>
<span class="w"> </span><span class="mf">72</span><span class="w"> </span><span class="mf">500</span><span class="w"> </span><span class="nf">moveto</span><span class="w"> </span><span class="c1">% position the current point at </span>
<span class="w"> </span><span class="c1">% coordinates 72, 500 (the origin is at the </span>
<span class="w"> </span><span class="c1">% lower-left corner of the page)</span>
<span class="w"> </span><span class="s">(Hello world!)</span><span class="w"> </span><span class="nf">show</span><span class="w"> </span><span class="c1">% paint the text in parentheses</span>
<span class="w"> </span><span class="nf">showpage</span><span class="w"> </span><span class="c1">% print all on the page</span>
</pre></div>
<p>or if the output device has a console
</p>
<div class="mw-highlight mw-highlight-lang-postscript mw-content-ltr" dir="ltr"><pre><span class="w"> </span><span class="c1">%!PS</span>
<span class="w"> </span><span class="s">(Hello world!)</span><span class="w"> </span><span class="nf">=</span>
</pre></div>
<div class="mw-heading mw-heading3"><h3 id="Units_of_length">Units of length</h3></div>
<p>PostScript uses the <a href="Point_(typography)" title="Point (typography)">point</a> as its unit of length. However, unlike some of the other versions of the point, PostScript uses exactly 72 points to the inch. Thus:
</p>
<dl><dd><span class="texhtml">1 point = <style data-mw-deduplicate="TemplateStyles:r1214402035">
/* start https://en.wikipedia.org/ */
.mw-parser-output .sfrac{white-space:nowrap}.mw-parser-output .sfrac.tion,.mw-parser-output .sfrac .tion{display:inline-block;vertical-align:-0.5em;font-size:85%;text-align:center}.mw-parser-output .sfrac .num{display:block;line-height:1em;margin:0.0em 0.1em;border-bottom:1px solid}.mw-parser-output .sfrac .den{display:block;line-height:1em;margin:0.1em 0.1em}.mw-parser-output .sr-only{border:0;clip:rect(0,0,0,0);clip-path:polygon(0px 0px,0px 0px,0px 0px);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}
/* end https://en.wikipedia.org/ */
</style><span class="sfrac"><span class="tion"><span class="num">1</span><span class="sr-only">/</span><span class="den">72</span></span></span> inch = <span class="sfrac"><span class="tion"><span class="num">25.4</span><span class="sr-only">/</span><span class="den">72</span></span></span> mm = <span class="sfrac"><span class="tion"><span class="num">127</span><span class="sr-only">/</span><span class="den">360</span></span></span> mm = 352.777… micrometers</span></dd></dl>
<p>For example, in order to draw a vertical line of 4 cm length, it is sufficient to type:
</p>
<div class="mw-highlight mw-highlight-lang-postscript mw-content-ltr" dir="ltr"><pre><span class="mf">0</span><span class="w"> </span><span class="mf">0</span><span class="w"> </span><span class="nf">moveto</span><span class="w"> </span>
<span class="mf">0</span><span class="w"> </span><span class="mf">113.385827</span><span class="w"> </span><span class="nf">rlineto</span><span class="w"> </span><span class="nf">stroke</span>
</pre></div>
<p>More readably and idiomatically, one might use the following equivalent, which demonstrates a simple procedure definition and the use of the mathematical operators <code>mul</code> and <code>div</code>:
</p>
<div class="mw-highlight mw-highlight-lang-postscript mw-content-ltr" dir="ltr"><pre><span class="nv">/cm</span><span class="w"> </span><span class="p">{</span><span class="mf">72</span><span class="w"> </span><span class="nf">mul</span><span class="w"> </span><span class="mf">2.54</span><span class="w"> </span><span class="nf">div</span><span class="p">}</span><span class="w"> </span><span class="nf">def</span><span class="w"> </span><span class="c1">% 1 inch = 2.54 cm exactly</span>
<span class="w"> </span><span class="mf">0</span><span class="w"> </span><span class="mf">0</span><span class="w"> </span><span class="nf">moveto</span>
<span class="w"> </span><span class="mf">0</span><span class="w"> </span><span class="mf">4</span><span class="w"> </span><span class="nf">cm</span><span class="w"> </span><span class="nf">rlineto</span><span class="w"> </span><span class="nf">stroke</span>
</pre></div>
<p>(Technically, most printers have a construction-implied unprintable margin around the physical borders of the sheet, and the 0 0 coordinates are calibrated to its corner,<sup id="cite_ref-PLR_23-1" class="reference"><a href="#cite_note-PLR-23"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Location: section 4.3.1">: section 4.3.1 </span></sup> so you might have to use a different starting point to actually see something.)
</p><p>Most implementations of PostScript use <a href="Single-precision" class="mw-redirect" title="Single-precision">single-precision</a> reals<sup id="cite_ref-PLR_23-2" class="reference"><a href="#cite_note-PLR-23"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup><sup class="reference nowrap"><span title="Location: appendix B">: appendix B </span></sup> (24-bit mantissa), so it is not meaningful to use more than 9 decimal digits to specify a real number, and performing calculations may produce unacceptable round-off errors.
</p>
<div class="mw-heading mw-heading2"><h2 id="Software">Software</h2></div>
<p>Software which can be used to render PostScript documents:
</p>
<ul><li><a href="Ghostscript" title="Ghostscript">Ghostscript</a></li>
<li><a href="Pstoedit" title="Pstoedit">pstoedit</a></li>
<li><a href="Zathura_(document_viewer)" title="Zathura (document viewer)">Zathura</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="PostScript_fonts" title="PostScript fonts">PostScript fonts</a></li>
<li><a href="Adobe_StandardEncoding" class="mw-redirect" title="Adobe StandardEncoding">Adobe StandardEncoding</a> (PostScript character set)</li>
<li><a href="Document_Structuring_Conventions" title="Document Structuring Conventions">Document Structuring Conventions</a></li>
<li><a href="Encapsulated_PostScript" title="Encapsulated PostScript">Encapsulated PostScript</a> (EPS)</li>
<li><a href="PostScript_Printer_Description" title="PostScript Printer Description">PostScript Printer Description</a> (PPD)</li>
<li><a href="Printer_Command_Language" title="Printer Command Language">Printer Command Language</a> (PCL)</li>
<li><a href="Forth_(programming_language)" title="Forth (programming language)">Forth (programming language)</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */
.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}
/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap mw-references-columns"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */
.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}
/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFPerry1988" class="citation journal cs1">Perry, T.S. (May 1988). "'PostScript' prints anything: a case history". <i>IEEE Spectrum</i>. <b>25</b> (5): <span class="nowrap">42–</span>46. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2F6.4550">10.1109/6.4550</a>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:33376390">33376390</a>.</cite></span>
</li>
<li id="cite_note-reilly2003p206-2"><span class="mw-cite-backlink">^ <a href="#cite_ref-reilly2003p206_2-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-reilly2003p206_2-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFReilly2003" class="citation book cs1">Reilly, Edwin (2003). <a rel="nofollow" class="external text" href="https://archive.org/details/milestonesincomp0000reil/page/206"><i>Milestones in Computer Science and Information Technology</i></a>. Greenwood Publishing Group. p. 206. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>9781573565219</bdi>.</cite></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><cite id="CITEREFPeterson2018" class="citation book cs1">Peterson, J.K (Jun 28, 2018). <i>Fiber Optics Illustrated Dictionary</i>. Taylor & Francis Group. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>9781138455757</bdi>.</cite></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><cite id="CITEREFNguyen2004" class="citation book cs1">Nguyen, Binh (2004). <a rel="nofollow" class="external text" href="https://play.google.com/books/reader?id=vdZWBQAAQBAJ&hl=en&pg=GBS.PP1"><i>Linux Dictionary</i></a> (0.16 ed.). Binh Nguyen. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20210224140917/https://play.google.com/books/reader?id=vdZWBQAAQBAJ&hl=en&pg=GBS.PP1">Archived</a> from the original on 24 February 2021<span class="reference-accessdate">. Retrieved <span class="nowrap">28 September</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><cite id="CITEREFBiancuzziWarden2009" class="citation book cs1">Biancuzzi, Federico; Warden, Shane (2009). "Chapter 16. PostScript". <i>Masterminds of Programming</i>. O'Reilly Media, Inc. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>9780596515171</bdi>.</cite></span>
</li>
<li id="cite_note-Pfiffner_Page_33-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-Pfiffner_Page_33_6-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFPfiffner2003" class="citation book cs1">Pfiffner, Pamela (2003). <i>Inside the Publishing Revolution: The Adobe Story</i>. Berkeley: Peachpit Press. p. 33. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>0-321-11564-3</bdi>.</cite></span>
</li>
<li id="cite_note-Pfiffner_Page_34-7"><span class="mw-cite-backlink">^ <a href="#cite_ref-Pfiffner_Page_34_7-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Pfiffner_Page_34_7-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFPfiffner2003" class="citation book cs1">Pfiffner, Pamela (2003). <i>Inside the Publishing Revolution: The Adobe Story</i>. Berkeley: Peachpit Press. p. 34. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>0-321-11564-3</bdi>.</cite></span>
</li>
<li id="cite_note-Pfiffner_Page_35-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-Pfiffner_Page_35_8-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFPfiffner2003" class="citation book cs1">Pfiffner, Pamela (2003). <i>Inside the Publishing Revolution: The Adobe Story</i>. Berkeley: Peachpit Press. p. 35. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>0-321-11564-3</bdi>.</cite></span>
</li>
<li id="cite_note-Pfiffner_Page_36-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-Pfiffner_Page_36_9-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFPfiffner2003" class="citation book cs1">Pfiffner, Pamela (2003). <i>Inside the Publishing Revolution: The Adobe Story</i>. Berkeley: Peachpit Press. p. 36. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>0-321-11564-3</bdi>.</cite></span>
</li>
<li id="cite_note-Pfiffner_Page_37-10"><span class="mw-cite-backlink">^ <a href="#cite_ref-Pfiffner_Page_37_10-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Pfiffner_Page_37_10-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Pfiffner_Page_37_10-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-Pfiffner_Page_37_10-3"><sup><i><b>d</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFPfiffner2003" class="citation book cs1">Pfiffner, Pamela (2003). <i>Inside the Publishing Revolution: The Adobe Story</i>. Berkeley: Peachpit Press. p. 37. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>0-321-11564-3</bdi>.</cite></span>
</li>
<li id="cite_note-Brock-11"><span class="mw-cite-backlink">^ <a href="#cite_ref-Brock_11-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Brock_11-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFBrock2022" class="citation news cs1">Brock, David (December 1, 2022). <a rel="nofollow" class="external text" href="https://computerhistory.org/blog/postscript-a-digital-printing-press/">"PostScript: A Digital Printing Press"</a>. <i>CHM Blog</i>. Computer History Museum.</cite></span>
</li>
<li id="cite_note-Pfiffner_Page_47-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-Pfiffner_Page_47_12-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFPfiffner2003" class="citation book cs1">Pfiffner, Pamela (2003). <i>Inside the Publishing Revolution: The Adobe Story</i>. Berkeley: Peachpit Press. p. 47. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>0-321-11564-3</bdi>.</cite></span>
</li>
<li id="cite_note-Pfiffner_Page_48-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-Pfiffner_Page_48_13-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFPfiffner2003" class="citation book cs1">Pfiffner, Pamela (2003). <i>Inside the Publishing Revolution: The Adobe Story</i>. Berkeley: Peachpit Press. p. 48. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>0-321-11564-3</bdi>.</cite></span>
</li>
<li id="cite_note-Pfiffner_Page_69-14"><span class="mw-cite-backlink">^ <a href="#cite_ref-Pfiffner_Page_69_14-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Pfiffner_Page_69_14-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFPfiffner2003" class="citation book cs1">Pfiffner, Pamela (2003). <i>Inside the Publishing Revolution: The Adobe Story</i>. Berkeley: Peachpit Press. p. 69. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>0-321-11564-3</bdi>.</cite></span>
</li>
<li id="cite_note-Pfiffner_Page_53-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-Pfiffner_Page_53_15-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFPfiffner2003" class="citation book cs1">Pfiffner, Pamela (2003). <i>Inside the Publishing Revolution: The Adobe Story</i>. Berkeley: Peachpit Press. p. 53. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>0-321-11564-3</bdi>.</cite></span>
</li>
<li id="cite_note-:0-16"><span class="mw-cite-backlink">^ <a href="#cite_ref-:0_16-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-:0_16-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-:0_16-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.thoughtco.com/difference-adobe-postscript-levels-1074580">"Differences Between Adobe PostScript Levels 1, 2, and 3"</a>. <i>ThoughtCo</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2025-03-04</span></span>.</cite></span>
</li>
<li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://archive.today/20250304132704/https://web.archive.org/web/20030624050921/http://www.adobe.com/support/techdocs/210f6.htm">"PostScript 3 General Information"</a>. <i>Adobe</i>. 2002-06-04. Archived from <a rel="nofollow" class="external text" href="https://pdfguru.com/">the original</a> on 2025-03-04<span class="reference-accessdate">. Retrieved <span class="nowrap">2025-03-04</span></span>.</cite></span>
</li>
<li id="cite_note-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-18">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.ibm.com/docs/en/zos/2.4.0?topic=capabilities-dot-matrix-graphics">"Dot-Matrix Graphics"</a>. <i>www.ibm.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2025-03-04</span></span>.</cite></span>
</li>
<li id="cite_note-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-19">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://helpx.adobe.com/uk/fonts/kb/postscript-type-1-fonts-end-of-support.html">"PostScript Type 1 fonts end of support"</a>. <i>Adobe</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2 March</span> 2024</span>.</cite></span>
</li>
<li id="cite_note-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-20">^</a></b></span> <span class="reference-text"><cite class="citation cs2"><a rel="nofollow" class="external text" href="https://archive.today/20120724005159/http://www.csr.com/products/120/ips-ps3"><i>IPS PS3</i></a>, CSR, archived from <a rel="nofollow" class="external text" href="http://www.csr.com/products/120/ips-ps3">the original</a> on 2012-07-24</cite></span>
</li>
<li id="cite_note-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-21">^</a></b></span> <span class="reference-text"><cite class="citation cs2"><a rel="nofollow" class="external text" href="https://archive.today/20130124020524/http://www.globalgraphics.com/products/jaws-pdf-and-postscript-rip-sdk/"><i>Jaws</i></a>, Global graphics, archived from <a rel="nofollow" class="external text" href="http://www.globalgraphics.com/products/jaws-postscript-interpreter/">the original</a> on 2013-01-24<span class="reference-accessdate">, retrieved <span class="nowrap">2012-06-13</span></span></cite></span>
</li>
<li id="cite_note-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-22">^</a></b></span> <span class="reference-text"><cite class="citation cs2">"Page description languages: Postscript", <a rel="nofollow" class="external text" href="https://web.archive.org/web/20171105214328/http://www.undocprint.org/formats/page_description_languages/postscript"><i>Formats</i></a>, Undocumented Printing, archived from <a rel="nofollow" class="external text" href="http://www.undocprint.org/formats/page_description_languages/postscript">the original</a> <span class="cs1-format">(wiki)</span> on 2017-11-05<span class="reference-accessdate">, retrieved <span class="nowrap">2009-12-15</span></span></cite></span>
</li>
<li id="cite_note-PLR-23"><span class="mw-cite-backlink">^ <a href="#cite_ref-PLR_23-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-PLR_23-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-PLR_23-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFAdobe_Systems1999" class="citation book cs1"><a href="Adobe_Systems_Incorporated" class="mw-redirect" title="Adobe Systems Incorporated">Adobe Systems</a> (1999). <a rel="nofollow" class="external text" href="https://www.adobe.com/jp/print/postscript/pdfs/PLRM.pdf"><i>PostScript language reference</i></a> <span class="cs1-format">(PDF)</span> (3 ed.). Reading, Mass.: Addison-Wesley. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>0-201-37922-8</bdi>. <a href="OCLC_(identifier)" class="mw-redirect" title="OCLC (identifier)">OCLC</a> <a rel="nofollow" class="external text" href="https://search.worldcat.org/oclc/40543937">40543937</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20221024130918/https://www.adobe.com/jp/print/postscript/pdfs/PLRM.pdf">Archived</a> <span class="cs1-format">(PDF)</span> from the original on 2022-10-24<span class="reference-accessdate">. Retrieved <span class="nowrap">2022-08-14</span></span>.</cite></span>
</li>
<li id="cite_note-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-24">^</a></b></span> <span class="reference-text">Adobe Systems Inc. <i>PostScript Language Reference Manual , 2nd ed., Appendix G, Document Structuring Conventions-Version 3.0</i>. Addison Wesley, 1990, p. 611.</span>
</li>
</ol></div></div>
<div class="mw-heading mw-heading2"><h2 id="Further_reading">Further reading</h2></div>
<ul><li><cite id="CITEREFAdobe_Systems_Incorporated1999" class="citation book cs1"><a href="Adobe_Systems_Incorporated" class="mw-redirect" title="Adobe Systems Incorporated">Adobe Systems Incorporated</a> (February 1999) [1985]. <a rel="nofollow" class="external text" href="https://www.adobe.com/jp/print/postscript/pdfs/PLRM.pdf"><i>PostScript Language Reference Manual</i></a> <span class="cs1-format">(PDF)</span> (1st printing, 3rd ed.). <a href="Addison-Wesley_Publishing_Company" class="mw-redirect" title="Addison-Wesley Publishing Company">Addison-Wesley Publishing Company</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>0-201-37922-8</bdi><span class="reference-accessdate">. Retrieved <span class="nowrap">2023-07-14</span></span>.</cite> (NB. This book (<i>PLR3</i>) together with the <cite class="citation cs2"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20160305010005/http://partners.adobe.com/public/developer/en/ps/PS3010and3011.Supplement.pdf"><i>Supplement</i></a> <span class="cs1-format">(PDF)</span>, archived from <span class="id-lock-subscription" title="Paid subscription required"><a rel="nofollow" class="external text" href="http://partners.adobe.com/public/developer/en/ps/PS3010and3011.Supplement.pdf">the original</a></span> <span class="cs1-format">(PDF)</span> on 2016-03-05<span class="reference-accessdate">, retrieved <span class="nowrap">2006-04-29</span></span></cite> is the <i>de facto</i> defining work on PostScript 3 and is informally called "red book" due to its red cover.)</li>
<li><cite id="CITEREFAdobe_Systems_Incorporated1990" class="citation book cs1"><a href="Adobe_Systems_Incorporated" class="mw-redirect" title="Adobe Systems Incorporated">Adobe Systems Incorporated</a> (1990) [1985]. <i>PostScript Language Reference Manual</i> (2nd ed.). <a href="Addison-Wesley_Publishing_Company" class="mw-redirect" title="Addison-Wesley Publishing Company">Addison-Wesley Publishing Company</a>.</cite> (NB. This edition (<i>PLR2</i>) covers PostScript Level 2 and also contains a description of Display PostScript, which is no longer discussed in the third edition.)</li>
<li><cite id="CITEREFAdobe_Systems_Incorporated1985" class="citation book cs1"><a href="Adobe_Systems_Incorporated" class="mw-redirect" title="Adobe Systems Incorporated">Adobe Systems Incorporated</a> (1985). <i>PostScript Language Reference Manual</i> (1st ed.). <a href="Addison-Wesley_Publishing_Company" class="mw-redirect" title="Addison-Wesley Publishing Company">Addison-Wesley Publishing Company</a>.</cite> (NB. This edition (<i>PLR1</i>) covers PostScript Level 1.)</li>
<li><cite id="CITEREFGeschke1986" class="citation book cs1"><a href="Charles_Geschke" title="Charles Geschke">Geschke, Charles</a> (1986) [1985]. Preface. <span class="id-lock-registration" title="Free registration required"><a rel="nofollow" class="external text" href="https://archive.org/details/postscriptlangua00adobrich"><i>PostScript Language Tutorial and Cookbook</i></a></span>. By <a href="Adobe_Systems_Incorporated" class="mw-redirect" title="Adobe Systems Incorporated">Adobe Systems Incorporated</a> (27th printing, August 1998, 1st ed.). <a href="Addison_Wesley_Publishing_Company" class="mw-redirect" title="Addison Wesley Publishing Company">Addison Wesley Publishing Company</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>0-201-10179-3</bdi>. 9-780201-101799<span class="reference-accessdate">. Retrieved <span class="nowrap">2017-02-27</span></span>.</cite> (NB. This introductory text is informally called "blue book" due to its blue cover.)</li>
<li><cite class="citation book cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20110613223722/http://partners.adobe.com/public/developer/en/ps/sdk/sample/GreenBook.zip"><i>PostScript language program design</i></a>. <a href="Adobe_Systems" class="mw-redirect" title="Adobe Systems">Adobe Systems</a>. Archived from <a rel="nofollow" class="external text" href="http://partners.adobe.com/public/developer/en/ps/sdk/sample/GreenBook.zip">the original</a> <span class="cs1-format">(Zip)</span> on 2011-06-13.</cite> (NB. This book is informally called "green book" due to its green cover.)</li>
<li><cite class="citation cs2"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20150321034514/http://partners.adobe.com/public/developer/en/font/T1_SPEC.PDF"><i>The Type 1 Font Format</i></a> <span class="cs1-format">(PDF)</span>, Adobe, archived from <a rel="nofollow" class="external text" href="http://partners.adobe.com/public/developer/en/font/T1_SPEC.PDF">the original</a> <span class="cs1-format">(PDF)</span> on 2015-03-21</cite> (NB. This book is informally called "black book" due to its black cover.)</li>
<li><cite class="citation cs2"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20160413212438/https://www.adobe.com/print/features/psvspdf/"><i>PostScript vs. PDF</i></a>, Adobe, archived from <a rel="nofollow" class="external text" href="https://www.adobe.com/print/features/psvspdf/">the original</a> on 2016-04-13</cite> (NB. Official introductory comparison of PS, EPS vs. PDF.)</li>
<li><cite class="citation cs2"><a rel="nofollow" class="external text" href="http://www.tailrecursive.org/postscript/postscript.html"><i>A First Guide to PostScript</i></a>, Tail recursive</cite></li>
<li><cite id="CITEREFCasselman" class="citation book cs1">Casselman, William 'Bill'. <a rel="nofollow" class="external text" href="https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0BxVCLS4f8Sg5YmY2Nzc5NzMtYWM4MS00ZjRjLTlkNDUtYzhkYjlhYjZjMmY3&hl=en&authkey=CIf-86sC"><i>Mathematical Illustrations: A Manual of Geometry and PostScript</i></a> <span class="cs1-format">(PDF)</span>.</cite><a rel="nofollow" class="external autonumber" href="http://www.math.ubc.ca/~cass/graphics/manual/">[1]</a></li>
<li><cite id="CITEREFReid1990" class="citation book cs1">Reid, Glenn (1990). <a rel="nofollow" class="external text" href="https://hint.userweb.mwn.de/compiler/ThinkingInPostScript.pdf"><i>Thinking in PostScript</i></a> <span class="cs1-format">(PDF)</span>. Colorado, USA: <a href="Addison-Wesley" title="Addison-Wesley">Addison-Wesley</a>.</cite> (NB. A thorough tutorial available online courtesy of the author.)</li></ul>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><a rel="nofollow" class="external text" href="https://computerhistory.org/blog/postscript-a-digital-printing-press/">Computer History Museum: article about early development of PostScript</a></li></ul>
<style data-mw-deduplicate="TemplateStyles:r1290876196">
/* start https://en.wikipedia.org/ */
.mw-parser-output .side-box{margin:4px 0;box-sizing:border-box;border:1px solid #aaa;font-size:88%;line-height:1.25em;background-color:var(--background-color-interactive-subtle,#f8f9fa);display:flow-root}.mw-parser-output .infobox .side-box{font-size:100%}.mw-parser-output .side-box-abovebelow,.mw-parser-output .side-box-text{padding:0.25em 0.9em}.mw-parser-output .side-box-image{padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .side-box-imageright{padding:2px 0.9em 2px 0;text-align:center}@media(min-width:500px){.mw-parser-output .side-box-flex{display:flex;align-items:center}.mw-parser-output .side-box-text{flex:1;min-width:0}}@media(min-width:720px){.mw-parser-output .side-box{width:238px}.mw-parser-output .side-box-right{clear:right;float:right;margin-left:1em}.mw-parser-output .side-box-left{margin-right:1em}}
/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1237033735">
/* start https://en.wikipedia.org/ */
@media print{body.ns-0 .mw-parser-output .sistersitebox{display:none!important}}@media screen{html.skin-theme-clientpref-night .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-en-v2.svg"]{background-color:white}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .sistersitebox img[src*="Wiktionary-logo-en-v2.svg"]{background-color:white}}
/* end https://en.wikipedia.org/ */
</style><div class="side-box side-box-right sistersitebox"><style data-mw-deduplicate="TemplateStyles:r1126788409">
/* start https://en.wikipedia.org/ */
.mw-parser-output .plainlist ol,.mw-parser-output .plainlist ul{line-height:inherit;list-style:none;margin:0;padding:0}.mw-parser-output .plainlist ol li,.mw-parser-output .plainlist ul li{margin-bottom:0}
/* end https://en.wikipedia.org/ */
</style>
<div class="side-box-flex">
<div class="side-box-image"><span class="noviewer" typeof="mw:File"></span></div>
<div class="side-box-text plainlist">Wikibooks has a book on the topic of: <i><b><a href="https://en.wikibooks.org/wiki/PostScript_FAQ" class="extiw external" title="wikibooks:PostScript FAQ">PostScript FAQ</a></b></i></div></div>
</div>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}
/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="Adobe_Inc.393" style="padding:3px"><table class="nowraplinks hlist mw-collapsible mw-collapsed navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><div id="Adobe_Inc.393" style="font-size:114%;margin:0 4em"><a href="Adobe_Inc." title="Adobe Inc.">Adobe Inc.</a></div></th></tr><tr><td class="navbox-abovebelow" colspan="2"><div><a href="Adobe_World_Headquarters" title="Adobe World Headquarters">Adobe World Headquarters</a></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="List_of_Adobe_software" title="List of Adobe software">Software</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Suites</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Adobe_Creative_Cloud" title="Adobe Creative Cloud">Creative Cloud</a> (<a href="Adobe_Creative_Suite" title="Adobe Creative Suite">Creative Suite</a>)</li>
<li><a href="Adobe_eLearning_Suite" title="Adobe eLearning Suite">eLearning Suite</a></li>
<li><a href="Adobe_Experience_Cloud" title="Adobe Experience Cloud">Experience Cloud</a></li>
<li><a href="Adobe_Technical_Communication_Suite" title="Adobe Technical Communication Suite">Technical Communication Suite</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Desktop</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Adobe_Animate" title="Adobe Animate">Animate</a></li>
<li><a href="Adobe_Acrobat" title="Adobe Acrobat">Acrobat</a></li>
<li><a href="Adobe_After_Effects" title="Adobe After Effects">After Effects</a></li>
<li><a href="Adobe_Audition" title="Adobe Audition">Audition</a></li>
<li><a href="Brackets_(text_editor)" title="Brackets (text editor)">Brackets</a></li>
<li><a href="Adobe_Digital_Editions" title="Adobe Digital Editions">Digital Editions</a></li>
<li><a href="Adobe_Director" title="Adobe Director">Director</a></li>
<li><a href="Adobe_Dreamweaver" title="Adobe Dreamweaver">Dreamweaver</a></li>
<li><a href="Adobe_Edge" title="Adobe Edge">Edge</a></li>
<li><a href="Adobe_FrameMaker" title="Adobe FrameMaker">FrameMaker</a></li>
<li><a href="Adobe_FreeHand" title="Adobe FreeHand">FreeHand</a></li>
<li><a href="Adobe_Flash_Player" title="Adobe Flash Player">Flash Player</a></li>
<li><a href="Adobe_Flash_Builder" title="Adobe Flash Builder">Flash Builder</a></li>
<li><a href="Adobe_GoLive" title="Adobe GoLive">GoLive</a></li>
<li><a href="Adobe_Illustrator" title="Adobe Illustrator">Illustrator</a></li>
<li><a href="Adobe_InDesign" title="Adobe InDesign">InDesign</a></li>
<li><a href="Adobe_Media_Encoder" class="mw-redirect" title="Adobe Media Encoder">Media Encoder</a></li>
<li><a href="Adobe_Media_Player" title="Adobe Media Player">Media Player</a></li>
<li><a href="Adobe_Muse" title="Adobe Muse">Muse</a></li>
<li><a href="Adobe_PageMaker" class="mw-redirect" title="Adobe PageMaker">PageMaker</a></li>
<li><a href="Adobe_Photoshop" title="Adobe Photoshop">Photoshop</a></li>
<li><a href="Adobe_Photoshop_Album" class="mw-redirect" title="Adobe Photoshop Album">Photoshop Album</a></li>
<li><a href="Adobe_Photoshop_Elements" class="mw-redirect" title="Adobe Photoshop Elements">Photoshop Elements</a></li>
<li><a href="Adobe_Photoshop_Express" class="mw-redirect" title="Adobe Photoshop Express">Photoshop Express</a></li>
<li><a href="Adobe_Photoshop_Lightroom" class="mw-redirect" title="Adobe Photoshop Lightroom">Photoshop Lightroom</a></li>
<li><a href="Adobe_Premiere_Pro" title="Adobe Premiere Pro">Premiere Pro</a></li>
<li><a href="Adobe_Premiere_Elements" class="mw-redirect" title="Adobe Premiere Elements">Premiere Elements</a></li>
<li><a href="Adobe_Premiere_Express" class="mw-redirect" title="Adobe Premiere Express">Premiere Express</a></li>
<li><a href="Adobe_Acrobat" title="Adobe Acrobat">Reader</a></li>
<li><a href="Adobe_Shockwave_Player" title="Adobe Shockwave Player">Shockwave Player</a></li>
<li><a href="Adobe_Voco" title="Adobe Voco">Voco</a></li>
<li><a href="Adobe_XD" title="Adobe XD">XD</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Server</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Adobe_LiveCycle" title="Adobe LiveCycle">LiveCycle</a></li>
<li><a href="Adobe_Flash_Media_Server" class="mw-redirect" title="Adobe Flash Media Server">Flash Media Server</a></li>
<li><a href="BlazeDS" title="BlazeDS">BlazeDS</a></li>
<li><a href="Adobe_ColdFusion" title="Adobe ColdFusion">ColdFusion</a></li>
<li>JRun</li>
<li><a href="Apache_Cordova" title="Apache Cordova">PhoneGap Build</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Technologies</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="ActionScript" title="ActionScript">ActionScript</a></li>
<li><a href="Adobe_AIR" title="Adobe AIR">AIR</a></li>
<li><a href="Adobe_Flash" title="Adobe Flash">Flash</a></li>
<li><a href="Apache_Flex" title="Apache Flex">Flex</a></li>
<li><a href="Adobe_Shockwave" title="Adobe Shockwave">Shockwave</a></li>
<li><a href="Adobe_Font_Folio" title="Adobe Font Folio">Font Folio</a></li>
<li><a href="Digital_Negative" title="Digital Negative">Digital Negative</a> (DNG)</li>
<li><a href="Adobe_Authorware" title="Adobe Authorware">Authorware</a></li>
<li><a href="FlashPaper" title="FlashPaper">FlashPaper</a></li>
<li><a href="PDF" title="PDF">Portable Document Format</a> (PDF)</li>
</ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Web services</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Adobe_Document_Cloud" title="Adobe Document Cloud">Document Cloud</a>
<ul><li><a href="Adobe_Sign" title="Adobe Sign">Sign</a></li></ul></li>
<li><a href="Adobe_Fonts" title="Adobe Fonts">Fonts</a></li>
<li><a href="Adobe_Solutions_Network" class="mw-redirect" title="Adobe Solutions Network">Solutions Network</a></li>
<li><a href="Adobe_Photoshop_Express" class="mw-redirect" title="Adobe Photoshop Express">Photoshop Express</a></li>
<li><a href="Adobe_Premiere_Express" class="mw-redirect" title="Adobe Premiere Express">Premiere Express</a></li>
<li><a href="Adobe_Spark" class="mw-redirect" title="Adobe Spark">Spark</a></li>
<li><a href="Adobe_Stock" class="mw-redirect" title="Adobe Stock">Stock</a></li>
<li><a href="Frame.io" class="mw-redirect" title="Frame.io">Frame.io</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="List_of_acquisitions_by_Adobe" title="List of acquisitions by Adobe">Acquisitions</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Aldus_Corporation" title="Aldus Corporation">Aldus</a></li>
<li><a href="Aviary_(image_editor)" title="Aviary (image editor)">Aviary</a></li>
<li><a href="Behance" title="Behance">Behance</a></li>
<li><a href="Day_Software" class="mw-redirect" title="Day Software">Day Software</a></li>
<li><a href="Fotolia" class="mw-redirect" title="Fotolia">Fotolia</a></li>
<li><a href="Livefyre" title="Livefyre">Livefyre</a></li>
<li><a href="Macromedia" title="Macromedia">Macromedia</a></li>
<li><a href="Magento" title="Magento">Magento</a></li>
<li><a href="Marketo" title="Marketo">Marketo</a></li>
<li><a href="Mixamo" title="Mixamo">Mixamo</a></li>
<li><a href="OCR_Systems" title="OCR Systems">OCR Systems</a></li>
<li><a href="Omniture" title="Omniture">Omniture</a></li>
<li><a href="Scene7" title="Scene7">Scene7</a></li>
<li><a href="Serious_Magic" title="Serious Magic">Serious Magic</a></li>
<li><a href="TubeMogul" title="TubeMogul">TubeMogul</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">People</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Bruce_Chizen" title="Bruce Chizen">Bruce Chizen</a></li>
<li><a href="Charles_Geschke" title="Charles Geschke">Charles Geschke</a></li>
<li><a href="Shantanu_Narayen" title="Shantanu Narayen">Shantanu Narayen</a></li>
<li><a href="John_Warnock" title="John Warnock">John Warnock</a></li>
<li><a href="Del_Yocam" title="Del Yocam">Del Yocam</a></li></ul>
</div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div>
<ul><li><span class="noviewer" typeof="mw:File"><span title="Category"></span></span> <b>Category</b></li>
<li><span class="noviewer" typeof="mw:File"><span title="Commons page"></span></span> <a href="https://commons.wikimedia.org/wiki/Category:Adobe_Inc." class="extiw external" title="commons:Category:Adobe Inc."><b>Commons</b></a></li></ul>
</div></td></tr></tbody></table></div>
<div class="navbox-styles"></div><div role="navigation" class="navbox" aria-labelledby="Graphics_file_formats441" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Graphics_file_formats441" style="font-size:114%;margin:0 4em"><a href="Image_file_format" title="Image file format">Graphics file formats</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Raster_graphics" title="Raster graphics">Raster</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="ANI_(file_format)" title="ANI (file format)">ANI</a></li>
<li><a href="ANIM" title="ANIM">ANIM</a></li>
<li><a href="ART_image_file_format" title="ART image file format">ART</a></li>
<li><a href="AVIF" title="AVIF">AVIF</a></li>
<li><a href="BMP_file_format" title="BMP file format">BMP</a></li>
<li><a href="Better_Portable_Graphics" title="Better Portable Graphics">BPG</a></li>
<li><a href="BSAVE" title="BSAVE">BSAVE</a></li>
<li><a href="CALS_Raster_file_format" title="CALS Raster file format">CAL</a></li>
<li><a href="Cineon" title="Cineon">CIN</a></li>
<li><a href="Cartesian_Perceptual_Compression" title="Cartesian Perceptual Compression">CPC</a></li>
<li><a href="CPT_(file_format)" title="CPT (file format)">CPT</a></li>
<li><a href="DirectDraw_Surface" title="DirectDraw Surface">DDS</a></li>
<li><a href="Digital_Picture_Exchange" title="Digital Picture Exchange">DPX</a></li>
<li><a href="ECW_(file_format)" title="ECW (file format)">ECW</a></li>
<li><a href="OpenEXR" title="OpenEXR">EXR</a></li>
<li><a href="FITS" title="FITS">FITS</a></li>
<li><a href="FLIC_(file_format)" title="FLIC (file format)">FLIC</a></li>
<li><a href="Free_Lossless_Image_Format" title="Free Lossless Image Format">FLIF</a></li>
<li><a href="FlashPix" title="FlashPix">FPX</a></li>
<li><a href="GIF" title="GIF">GIF</a></li>
<li><a href="HDRi_(data_format)" class="mw-redirect" title="HDRi (data format)">HDRi</a></li>
<li><a href="High_Efficiency_Video_Coding#Main_Still_Picture" title="High Efficiency Video Coding">HEVC</a></li>
<li><a href="ICER_(file_format)" title="ICER (file format)">ICER</a></li>
<li><a href="Apple_Icon_Image_format" title="Apple Icon Image format">ICNS</a></li>
<li><a href="ICO_(file_format)" title="ICO (file format)">ICO/CUR</a></li>
<li><a href="Image_Cytometry_Standard" title="Image Cytometry Standard">ICS</a></li>
<li><a href="ILBM" title="ILBM">ILBM</a></li>
<li><a href="JBIG" title="JBIG">JBIG</a></li>
<li><a href="JBIG2" title="JBIG2">JBIG2</a></li>
<li><a href="JPEG_Network_Graphics" title="JPEG Network Graphics">JNG</a></li>
<li><a href="JPEG" title="JPEG">JPEG</a></li>
<li><a href="Lossless_JPEG#JPEG_LS" title="Lossless JPEG">JPEG LS</a></li>
<li><a href="JPEG_2000" title="JPEG 2000">JPEG 2000</a></li>
<li><a href="JPEG_XL" title="JPEG XL">JPEG XL</a></li>
<li><a href="JPEG_XR" title="JPEG XR">JPEG XR</a></li>
<li><a href="JPEG_XS" title="JPEG XS">JPEG XS</a></li>
<li><a href="JPEG_XT" title="JPEG XT">JPEG XT</a>
<ul><li><a href="JPEG-HDR" class="mw-redirect" title="JPEG-HDR">JPEG-HDR</a></li></ul></li>
<li><a href="Krita" title="Krita">KRA</a></li>
<li><a href="Multiple-image_Network_Graphics" title="Multiple-image Network Graphics">MNG</a></li>
<li><a href="Magick_Image_File_Format" title="Magick Image File Format">MIFF</a></li>
<li><a href="Nearly_raw_raster_data" class="mw-redirect" title="Nearly raw raster data">NRRD</a></li>
<li><a href="OpenRaster" title="OpenRaster">ORA</a></li>
<li><a href="Netpbm#PAM_graphics_format" title="Netpbm">PAM</a></li>
<li><a href="Netpbm" title="Netpbm">PBM/PGM/PPM/PNM</a></li>
<li><a href="PCX" title="PCX">PCX</a></li>
<li><a href="Progressive_Graphics_File" title="Progressive Graphics File">PGF</a></li>
<li><a href="PICtor_PIC_image_format" title="PICtor PIC image format">PICtor</a></li>
<li><a href="PNG" title="PNG">PNG</a>
<ul><li><a href="APNG" title="APNG">APNG</a></li></ul></li>
<li><a href="Adobe_Photoshop#PSD" title="Adobe Photoshop">PSD/PSB</a></li>
<li><a href="PaintShop_Pro" title="PaintShop Pro">PSP</a></li>
<li><a href="QOI_(image_format)" title="QOI (image format)">QOI</a></li>
<li><a href="QuickTime_VR" title="QuickTime VR">QTVR</a></li>
<li><a href="Sun_Raster" title="Sun Raster">RAS</a></li>
<li><a href="RGBE_image_format" title="RGBE image format">RGBE</a>
<ul><li><a href="Logluv_TIFF" title="Logluv TIFF">Logluv TIFF</a></li></ul></li>
<li><a href="Silicon_Graphics_Image" title="Silicon Graphics Image">SGI</a></li>
<li><a href="Truevision_TGA" title="Truevision TGA">TGA</a></li>
<li><a href="Tag_Image_File_Format" class="mw-redirect" title="Tag Image File Format">TIFF</a>
<ul><li><a href="TIFF/EP" title="TIFF/EP">TIFF/EP</a></li>
<li><a href="Tag_Image_File_Format" class="mw-redirect" title="Tag Image File Format">TIFF/IT</a></li></ul></li>
<li><a href="Ulead_PhotoImpact" title="Ulead PhotoImpact">UFO/UFP</a></li>
<li><a href="Wireless_Application_Protocol_Bitmap_Format" title="Wireless Application Protocol Bitmap Format">WBMP</a></li>
<li><a href="WebP" title="WebP">WebP</a></li>
<li><a href="X_BitMap" title="X BitMap">XBM</a></li>
<li><a href="XCF_(file_format)" title="XCF (file format)">XCF</a></li>
<li><a href="X_PixMap" title="X PixMap">XPM</a></li>
<li><a href="Xwd" title="Xwd">XWD</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Raw_image_format" title="Raw image format">Raw</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Camera_Image_File_Format" title="Camera Image File Format">CIFF</a></li>
<li><a href="Digital_Negative" title="Digital Negative">DNG</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Vector_graphics" title="Vector graphics">Vector</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Adobe_Illustrator_Artwork" class="mw-redirect" title="Adobe Illustrator Artwork">AI</a></li>
<li><a href="CorelDRAW#CDR_file_format" title="CorelDRAW">CDR</a></li>
<li><a href="Computer_Graphics_Metafile" title="Computer Graphics Metafile">CGM</a></li>
<li><a href="AutoCAD_DXF" title="AutoCAD DXF">DXF</a></li>
<li><a href="Enhanced_Metafile" class="mw-redirect" title="Enhanced Metafile">EMF</a></li>
<li><a href="EMF%2B" class="mw-redirect" title="EMF+">EMF+</a></li>
<li><a href="Gerber_format" title="Gerber format">Gerber</a></li>
<li><a href="Haiku_Vector_Icon_Format" class="mw-redirect" title="Haiku Vector Icon Format">HVIF</a></li>
<li><a href="IGES" title="IGES">IGES</a></li>
<li><a href="Precision_Graphics_Markup_Language" title="Precision Graphics Markup Language">PGML</a></li>
<li><a href="Scalable_Vector_Graphics" class="mw-redirect" title="Scalable Vector Graphics">SVG</a></li>
<li><a href="Vector_Markup_Language" title="Vector Markup Language">VML</a></li>
<li><a href="Windows_Metafile" title="Windows Metafile">WMF</a></li>
<li><a href="Xar_(graphics)" title="Xar (graphics)">Xar</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Image_file_format#Compound_formats" title="Image file format">Compound</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Computable_Document_Format" title="Computable Document Format">CDF</a></li>
<li><a href="DjVu" title="DjVu">DjVu</a></li>
<li><a href="Encapsulated_PostScript" title="Encapsulated PostScript">EPS</a></li>
<li><a href="MODCA" title="MODCA">MODCA</a></li>
<li><a href="PDF" title="PDF">PDF</a></li>
<li><a href="PICT" title="PICT">PICT</a></li>
<li><a href="SWF" title="SWF">SWF</a></li>
<li><a href="Extensible_Application_Markup_Language" title="Extensible Application Markup Language">XAML</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Metadata" title="Metadata">Metadata</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li>Exchangeable image file format (<a href="Exif" title="Exif">Exif</a>)</li>
<li><a href="International_Press_Telecommunications_Council#Photo_metadata" title="International Press Telecommunications Council">International Press Telecommunications Council § Photo metadata</a></li>
<li><a href="Extensible_Metadata_Platform" title="Extensible Metadata Platform">Extensible Metadata Platform</a> (XMP)</li>
<li><a href="GIF#Metadata" title="GIF">GIF § Metadata</a></li>
<li><a href="Steganography" title="Steganography">Steganography</a></li></ul>
</div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div><b><span class="noviewer" typeof="mw:File"></span> <a href="Comparison_of_graphics_file_formats" title="Comparison of graphics file formats">Comparison</a></b> • <b><span class="noviewer" typeof="mw:File"><span title="Category"></span></span> Category</b></div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-07-29" href="https://en.wikipedia.org/wiki/?title=PostScript&oldid=1303149786">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>